Minutes, IBIS Quality Task Group

26 January 2021

11:00-12:00 EST (08:00-09:00 PST)

ROLL CALL

Intel Technology                    Michael Mirmak
Micron Technology                 * Randy Wolff
Signal Integrity Software:        * Mike LaBonte
Teraspeed Labs:                   * Bob Ross
Zuken USA:                        * Lance Wang

Everyone in attendance marked by *

NOTE: "AR" = Action Required.

-----------------------MINUTES ---------------------------
Mike LaBonte conducted the meeting.

Call for IBIS related patent disclosures:

- None


Call for opens:

- Mike noted that an agenda had been sent but not received by the
  list. He would investigate.


Review of previous meeting minutes:
Minutes from the January 19, 2021 meeting were not available for review.


ARs:
- Mike LaBonte to complete static analysis of IBISCHK 7.0.0 source code
  - Done
- Mike LaBonte to evaluate TSCHK2 compile environment
  - Done
- Bob Ross to draft IBISCHK 7.1.0 parser development contract
  - Not yet started


New parser bug reports:
Bob Ross noted that The security check bug was in progress.  He said a new Touchstone
connectivity bug was possible, but he had research to do.


IBISCHK 7.1.0:
Bob Ross reported that he had prepared some notes but had not started a contract
document.


IBISCHK security fixes:
Mike LaBonte described his further testing ibischk7.0.0 code using the Splint static
code analyzer.  He began with enabling all checks with the "+strict" option, which
yielded tens of thousand of error messages.  Then he added options to disable more
than 100 checks one at a time, examining the results each time.  Mike showed an email
summarizing the results. In all cases, Splint found many errors not listed in the
reference spreadsheet from Intel.  With all checks enabled it found 283 of the reference
errors, but also 18,915 additional messages.  The best combination of options Mike found
had 283 common errors and 2,527 unique to Splint.  He had considered writing a script
to test all possible option combinations and choose the best using a scoring system,
but he had little hope that would do much better.

Mike said he had incorrectly reported that the reference analysis found 223 errors.
That was the number of message lines, but some comments in the spreadsheet listed
other code line numbers.  Mike had written a Perl script to form a complete list of
error instances with file name and line number. There were 407.

Mike said splint also found some serious non-security issues.  Bob Ross said having
Intel in the loop to verify security fixes would almost certainly slow down development.
Randy Wolff asked if there had been any indication that other companies cared about the
issue.  He suggested asking in Open Forum.  Mike suggested asking developers directly.
We agreed to divide the task among ourselves.  Randy suggested three questions:

- Are they compiling the source into a product?
- Do they have code security requirements?
- Are they fixing the code?

AR: Mike LaBonte to draft ibischk source code user questions for email
AR: Lance Wang to ask Zuken
AR: Mike LaBonte to ask Cadence
AR: Bob Ross to ask Keysight and Siemens
AR: Randy Wolff to ask Synopsys

IBIS-ISS parser development:
Bob Ross noted we have not yet written the contract.  We needed to decide the order
and grouping of developments.


TSCHK2:
Mike LaBonte had provided an alpha1 code release for review.  Bob Ross said the
executable did not work for him, a cygwin DLL was not found.  Mike said he could
change compile options to not require that.  Bob said he was unable to access the
source files from the private area.  Mike suggested having the webmaster check on the
FTP access for Bob.

Mike described the changes he made.  It would refuse convert a Touchstone 2 to
Touchstone 1 if [Reference] was used.  Mike had changed the check to abort only if any
[Reference] impedance did not match the global "R" impedance.  Randy said the global
"R" impedance should not be involved in the check.  It should only be necessary to
compare the [Reference] impedances to each other.  The "R" impedance may be absent.
Mike agreed to make that change.

Mike described a second problem he found.  Once the code was changed to not abort with
[Reference] present, it abort after finding that the input file was a Touchstone 2 file.
Mike was confused about that because the input file was known to be a Touchstone 2 file,
that was why it was being converted to Touchstone 1.  He said the abort occurred during
normalization of the matrix data. He had disabled that check to make the program work.
Randy said the program had no trouble converting Touchstone 2 files without [Reference]
to Touchstone 1.  He also said we had to make sure the impedances from [Reference]
were being used for normalization.  Mike said he would investigate further.  He added
that the code was very well written.

AR: Mike LaBonte to recompile tschk2 alpha without cygwin dependency, and fix for impedance checking


Tabled topics (no discussion without motion):
  - BIRD181.2

Bob Ross moved to adjourn. Randy Wolff seconded. Without objection the meeting ended.

Meeting ended: 11:54 ET

Next meeting February 2, 2021
